Conversation
🦋 Changeset detectedLatest commit: 9b0b4b8 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
Pull request overview
This PR addresses an alerts filter UX issue in Supernova where the filter value ComboBox effectively capped visible matches at 100 even after the user typed a query, by introducing progressive “load more” behavior in the dropdown.
Changes:
- Added a
displayLimitstate (default 100) and reset logic when changing the filter label. - Reworked dropdown option rendering to slice by
displayLimitafter applying filtering. - Added a “Load 100 more items…” control at the bottom of the dropdown when more matches are available.
- Added a patch changeset for
@cloudoperators/juno-app-supernova.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| apps/supernova/src/components/filters/FilterSelect.tsx | Adds progressive loading state and renders a “load more” control for filtered ComboBox options. |
| .changeset/ready-candles-kiss.md | Records a patch release note for the Supernova fix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…tion or class' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
|
The proposed solution lgtm in terms of UX/UI for now. We may want to investigate whether we want to support Headless UI's ComboCox virtual scrolling feature as an option in the future to circumvent the problem altogether. |
Summary
Improves the Supernova filter ComboBox UX by showing an informational message when more than 100 filter values are available, and implements a workaround to clear the ComboBox's internal search state after selecting a filter value.
Changes Made
displayLimitstate (100 items) andcomboBoxKeystate for forcing ComboBox remountrenderFilterOptions()function"Showing 100 of 450. Search to filter.""prod" - Showing 100 of 150. Refine search for more."Related Issues
Problem Statement
Original Issue
An attempt was made to implement progressive loading with a "Load more" button to handle filter labels with >100 values. However, this approach had a fundamental architectural flaw:
The Core Problem: ComboBox internally filters its children (including
ComboBoxOptionelements) based on the user's input query. When a user types a search query (e.g., "production"), the "Load … more items" button gets filtered out because its text doesn't match the query. This breaks progressive loading exactly when it's most needed - during filtered searches.The ComboBox component's filtering logic (lines 340-352 in
ComboBox.component.tsx):Any element (including action buttons) that doesn't match the query gets filtered out.
Why Progressive Loading Couldn't Be Kept
Multiple approaches were attempted to make progressive loading work:
<a>tag for "Load more" - Gets filtered out (not a ComboBoxOption)The fundamental constraint: The Juno ComboBox component (from the design system) cannot be modified, and it doesn't support non-filterable items or footer content.
Chosen Solution
Instead of progressive loading, we display an informational message that:
Additional workaround implemented: Force remount ComboBox using key increment to clear internal search state after selection. Without this, the search query persists and filters the dropdown when reopened.
Screenshots (if applicable)
Display Limit with NO search string

Display Limit with search string

Added workaround to clear ComboBox's internal search state after item selection using key increment
Screen.Recording.2026-04-22.at.23.22.58.mov
Testing Instructions
pnpm ipnpm dev:supernova"prod" - Showing 100 of X. Refine search for more."Checklist
PR Manifesto
Review the PR Manifesto for best practises.
Additional Context
Future Enhancement: A feature request has been issued: #1627
These enhancements would eliminate the need for workarounds and enable proper progressive loading in the future.